package com.jrx.anytxn.transaction.bean;

import com.jrx.anytxn.customer.dto.customer.CustomerRes;
import com.jrx.anytxn.customer.entity.CmCustomerBankcardInfo;
import com.jrx.anytxn.customer.entity.CmCustomerRightInfo;
import com.jrx.anytxn.param.entity.*;

import java.util.Date;
import java.util.List;

/**
 * 贷款时入参bean
 *
 * @author : zhenghaopu
 * 2019/10/22
 */
public class LoanParamBean {
    /**
     * 利率表数据ID
     */
    private String interestTableId;
    /**
     * 提前结清参数表id
     */
    private String payoffTableId;
    /**
     * 罚息参数表id
     */
    private String penaltyTableId;
    /**
     * 费用参数表id
     */
    private String feeTableId;
    /**
     * 利率表数据id
     */
    private PrInterestTable interestTable;

    /**
     * 还款顺序表ID
     */
    private String paymentSequenceTableId;

    /**
     * 还款方式ID
     */
    private List<String> amortMethodTableIds;

    /**
     * 延滞参数id
     */
    private String delqId;

    /**
     *  提前还款参数
     */
    private String prePayId;

    /**
     * 客户信息
     */
    private CustomerRes customer;
    /**
     *  渠道
     */
    private PrChannelTable channel;
    /**
     *  产品
     */
    private PrProductTable product;
    /**
     *  客户银行卡
     */
    private CmCustomerBankcardInfo customerBank;
    /**
     *  机构信息
     */
    private PrOrganizationTable org;

    /**
     * 贴息利息表Id
     */
    private String waiveInterestId;

    /**
     * 贴息利率参数
     */
    private PrWaiveInterestTable prWaiveInterestTable;

    /**
     * 首期还款日
     */
    private Date firstPaymentDate;

    /**
     * 产品权益
     */
    private CmCustomerRightInfo rightInfo;

    /**
     * 还款日
     */
    private Integer paymentDay;

    public PrWaiveInterestTable getPrWaiveInterestTable() {
        return prWaiveInterestTable;
    }

    public void setPrWaiveInterestTable(PrWaiveInterestTable prWaiveInterestTable) {
        this.prWaiveInterestTable = prWaiveInterestTable;
    }

    public String getInterestTableId() {
        return interestTableId;
    }

    public void setInterestTableId(String interestTableId) {
        this.interestTableId = interestTableId;
    }

    public String getPayoffTableId() {
        return payoffTableId;
    }

    public void setPayoffTableId(String payoffTableId) {
        this.payoffTableId = payoffTableId;
    }

    public String getPenaltyTableId() {
        return penaltyTableId;
    }

    public void setPenaltyTableId(String penaltyTableId) {
        this.penaltyTableId = penaltyTableId;
    }

    public String getFeeTableId() {
        return feeTableId;
    }

    public void setFeeTableId(String feeTableId) {
        this.feeTableId = feeTableId;
    }

    public PrInterestTable getInterestTable() {
        return interestTable;
    }

    public void setInterestTable(PrInterestTable interestTable) {
        this.interestTable = interestTable;
    }

    public String getPaymentSequenceTableId() {
        return paymentSequenceTableId;
    }

    public void setPaymentSequenceTableId(String paymentSequenceTableId) {
        this.paymentSequenceTableId = paymentSequenceTableId;
    }

    public CustomerRes getCustomer() {
        return customer;
    }

    public void setCustomer(CustomerRes customer) {
        this.customer = customer;
    }

    public CmCustomerBankcardInfo getCustomerBank() {
        return customerBank;
    }

    public void setCustomerBank(CmCustomerBankcardInfo customerBank) {
        this.customerBank = customerBank;
    }

    public String getDelqId() {
        return delqId;
    }

    public void setDelqId(String delqId) {
        this.delqId = delqId;
    }

    public String getPrePayId() {
        return prePayId;
    }

    public void setPrePayId(String prePayId) {
        this.prePayId = prePayId;
    }

    public PrChannelTable getChannel() {
        return channel;
    }

    public void setChannel(PrChannelTable channel) {
        this.channel = channel;
    }

    public PrProductTable getProduct() {
        return product;
    }

    public void setProduct(PrProductTable product) {
        this.product = product;
    }

    public PrOrganizationTable getOrg() {
        return org;
    }

    public void setOrg(PrOrganizationTable org) {
        this.org = org;
    }

    public String getWaiveInterestId() {
        return waiveInterestId;
    }

    public void setWaiveInterestId(String waiveInterestId) {
        this.waiveInterestId = waiveInterestId;
    }

    public Date getFirstPaymentDate() {
        return firstPaymentDate;
    }

    public void setFirstPaymentDate(Date firstPaymentDate) {
        this.firstPaymentDate = firstPaymentDate;
    }

    public List<String> getAmortMethodTableIds() {
        return amortMethodTableIds;
    }

    public void setAmortMethodTableIds(List<String> amortMethodTableIds) {
        this.amortMethodTableIds = amortMethodTableIds;
    }

    public CmCustomerRightInfo getRightInfo() {
        return rightInfo;
    }

    public void setRightInfo(CmCustomerRightInfo rightInfo) {
        this.rightInfo = rightInfo;
    }

    public Integer getPaymentDay() {
        return paymentDay;
    }

    public void setPaymentDay(Integer paymentDay) {
        this.paymentDay = paymentDay;
    }
}
